import Promise from "../promise";

// 缺陷：原生的Promise， 当上一个Promise 对象的状态发生改变后，then、catch 的回调函数会执行，但是它是异步的，会放入到微队列中等待执行。
// 而我们自定义的 Promise 的then、catch 的回调函数执行的时候是同步的，我也不知道如何模拟进入微队列，只能先这样啦！
// 关于宏任务、微任务参考这个资料：https://note.youdao.com/s/3tWGPLXT

setTimeout(() => {
    console.log("0")
}, 0)
new Promise((resolve, reject) => {
    console.log("1")
    resolve(undefined)
}).then(() => {
    console.log("2")
    new Promise((resolve, reject) => {
        console.log("3")
        resolve(undefined)
    }).then(() => {
        console.log("4")
    }).then(() => {
        console.log("5")
    })
}).then(() => {
    console.log("6")
})

new Promise((resolve, reject) => {
    console.log("7")
    resolve(undefined)
}).then(() => {
    console.log("8")
})
